Computer terminal plotting apparatus and method

ABSTRACT

In a conventional computer terminal device for printing out data from a digital computer, a type vehicle having straight line characters of varying slopes and intercepts which is easily adapted to replace or fit over the conventional alphanumeric ball, cylinder or type-track vehicle, for printing a straight line approximation of graphical information. The information from which the graph is derived, already available in the computer, is operated upon by a stored program to cause the type vehicle to print, for each data point, a straight line segment conveying optimum information with respect to the position and waveform derivatives to provide a continuous plot of output data.

United States Patent 1191 1111 3,809,865

Dimeo May 7, 1974 COMPUTER TERMINAL PLOTTING cal Disclosure Bulletin,Vol. 13, No. 2, July I970, pp.

APPARATUS AND METHOD 458-459.

[75] Inventor: Frank N. DlMeo, Philadelphia, Pa.

[73] Assignee: Academic Associates, Inc., Primary Examiner-Malcolm A,Morrison Audubon, Pa. Assistant Examiner.lerry Smith [22] Filed: an. 27,1972 Attorney, Agent, or FrrmPaul & Paul [21] Appl. No; 221,237

Related US. Application Data [63] Continuation-impart of Ser. No.79,907, Oct. 12,

I970, abandoned,

[57] ABSTRACT In a conventional computer terminal device for printingout data from a digital computer, a type vehicle [52] Cl 235/151 101/399ga having straight line characters of varying slopes and 1 Int 0 G0615/20 intercepts which is easily adapted to replace or fit over 58 Fieldof Search 1. 444/1; 340/1725; 178/30, t z f i" h l i i t g z j g f17s/34-3s- 235/151 151.22- 101/39s-399 401 F P"" 5 mg P non of graplncalInformation. The mformauon from References Cited which the graph isderived, already available in the computer, is operated upon by a storedprogram to UNITED STATES PATENTS cause the type vehicle to print, foreach data point, a

3,267,852 8/1966 Gordon 101/399 straight line segment conveying optimuminformation 3.444.31 5/1969 Artz et aI.--- 173/30 with respect to theposition and waveform derivatives 3,467,233 9/1959 .lablonski 1. 178/34X to provide a Continuous plot f output data OTHER PUBLICATIONS D. E.Fisk, Control For Digital Plotter, IBM Techni- 7 Claims, 4 DrawingFigures PATENTEDHAY 7 I974 SHEET 1D? 2 INVENTOR.

Frank N. DiMeo M V W ATTORNEYS PATENTEDW H914 3.809.865

SHEET 2 BF 2 INVENTOR. Frank N. Di Meo Y pal WM ATTORNEYS.

COMPUTER TERMINAL PLOTTING APPARATUS AND METHOD CROSS REFERENCE TORELATED APPLICATION This is a Continuation In Part application ofapplicant's application Ser. No. 79,907, filed Oct. l2, I970, having thesame title and now abandoned.

BACKGROUND OF THE INVENTION A. Field of the Invention This inventionlies in the field of computer peripheral equipment and, moreparticularly, computer output terminals for presenting graphicalinformation.

B. Description of the Prior Art In many present day applicationsinvolving digital computers, there is an urgent need for graphicalpresentation of data which has been compiled in tabular form by thecomputer. In some scientific applications, the information is convertedfrom digital to analog signals, the analog signals driving continuouswave plotters which provide continuous plots of graphical information.However, whether the user employs a separate digital to analog converterand a separate plotter, or such equipment is combined in one outputterminal, this approach is extremely expensive and not justified for theroutine computer user.

An alternate approach to printout of computer data in graphical form isto use a conventional alphanumeric output terminal such as a teletypemachine, Selectric typewriter, or high speed line printer, using any oneof the characters available as a data point, and positioning these datapoints by the use of the spacing mechanisms ofthe output printer. Suchtechnique, while commonly used, has severe limitations, particularlywhere more than one curve is to be represented on a given plot. None ofthe alphanumeric characters normally available is adequate to representa curve of changing slope. Further, each character field is spacedhorizontally on any given line, and is spaced vertically from line toline, with the result that the data points which represent only positioninformation, are considerably spread out and present a very poorresolution graph. This result is particularly frustrating in manyapplications inasmuch as the computer, in the course of compiling thetabular information which is to be presented in graphical form, hascompiled considerably more information with respect to both position andderivative than the output printer is able to accommodate. There thus isessentially no middle ground in the present art between the extremelypoor resolution standard printer, designed only for alphanumericprintouts. and the very expensive analog plotting terminals.

SUMMARY OF THE INVENTION It is an object of this invention to provide aneasily installed hardware modification of an existing character printoutterminal in order to adapt such terminal for good resolution printing ofgraphical information.

It is a further object of this invention to provide simple mechanicalmeans for computer controlled printout of straight line segmentsincorporating derivative, position and intercept data to produce astraight line approximation curve of data generated by a digitalcomputer.

It is a further object of this invention to provide a method forprinting a straight line approximation graph of information held withina digital computer.

It is a further object of this invention to provide simple and reliableapparatus and a method for using such apparatus which overcome thedisadvantages of the prior art and fulfill a long felt need for aninexpensive means of direct printout of digital information in highresolution graphical form.

Accordingly, the invention provides a character vehicle adaptable to aconventional printout device, such vehicle having a plurality of raisedcharacters of a straight line segment form, each character havingdistinct position and slope information, the characters occupyingcharacter fields such that there is no spacing horizontally orvertically between adjacent character fields on the printout, and amethod of converting tabular information in digital form intocorresponding signals to control the sequence of typing of such straightline segments so as to produce a continuous graph of such tabulateddigital data. In operation, the computer user replaces a conventionalalphanumeric character vehicle with the straight line segment vehiclefor printout of the curve, or fits over or otherwise attaches thestraight line segment vehicle to the alphanumeric vehicle, and thecomputer is operated by a sub-routine program which constitutes thesoftware for investigating the digital information and controlling thecurve printout. The computer controls the actuation of the type vehicleso as to cause it to print successive straight line segments whichconstitute the curve.

BRIEF DESCRIPTION OF THE DRAWINGS FIG. la is a diagrammaticrepresentation of a cylinder adaptable for use on teletype machines, andhaving straight line characters;

FIG. lb is a diagrammatic representation of a ball type charactervehicle adaptable for use on typewriter outputs, and having straightline segment characters;

FIG. 2 is a diagrammatic representation of a graphi cal character fieldshowing an arrangement of 64 different straight line and dot characters;

FIG. 3 is a diagrammatic representation of a conventional printoutproduced by a conventional alphanumerical printout device, with a highresolution curve provided by this invention superimposed thereon.

DESCRIPTION OF THE PREFERRED EMBODIMENT Referring now to FIG. la, adiagrammatic illustration is shown of a cylinder for use on teletypemachines, the cylinder being of suitable geometric proportions to bereadily adapted to existing machines. The surface of the cylindersupports raised characters 40 of a straight line segment form asillustrated in the drawing. The cylinder is constructed with an innerdiameter permitting it to be placed firmly over the alphanumericcylinder of a conventional teletype. Alternately, the user may replacethe alphanumeric cylinder with one of the same diameter. For purposes ofillustration, the cylinder is broken up into character fields by dashedlines, each character field containing a straight line segment having agiven position and slope within its character field. Such raisedstraight line segments replace the normal alphanumeric characters whichare utilized in conventional printout devices.

Referring now to FIG. 1b, a ball type character vehicle is'shown, againillustrated with character fields designated by dashed lines, eachcharacter field having the straight line segment character therein. Itis to be noted that other hardware adaptations embodying this inventionmay be utilized, even though not illustrated here. For instance, onetype of line printer utilizes a belt-like type track which iscontinuously driven past the printer hammers. Such type track, whichnormally contains raised alphanumeric characters, may be replaced with acorresponding type track having raised straight line segment characters.In general, this invention may be practiced with any printing devicehaving a character vehicle, wherein the alphanumeric character vehiclemay be replaced with a straight line segment character vehicle of thesame geometrical form, or adapted by sliding the straight line segmentvehicle over the alphanumeric vehicle.

Referring now to FIG. 2, 64 possible characters are illustrated withinone character field. The actual number of characters which can beutilized in the practice of this invention will depend upon theequipment being used, and a choice of 64 characters is made simply toillustrate the principle involved. As seen in FIG. 2, 61 straight linecharacters are shown, each straight line character representingdifferent position and/or slope information. The choice of the straightline segment to be utilized is made upon an examination by the computerof the digital information representing the point to be represented andadjacent points, from which digital information the appropriate straightline character can be chosen which optimally represents position andslope data.

Since the ideal output format is a continuous line graph, the characterfield is chosen so that there is no horizontal or vertical spacing, andthe entire character field is utilized by the straight line segmentcharacters. Thus, in referring to FIG. 2, the rectangle within which theline segments are enclosed illustrates the entire character field,comparable to one of the character fields shown by the dashed lines inFIGS. la and lb. FIG. 2 illustrates the use of 64 characters, consistingof 61 straight line segments each ofa unique position and slope, plusthree "dot" characters. The dots may be employed if the curve to berepresented enters and leaves via the same side of the field. In thatinstance, the dots may be used to indicate the extent of the excursionof the curve into the character field. It is to be emphasized that manydifferent modes of operation may be utilized in accordance with theconstraints applied by the equipment being used. Not only the number ofcharacters may be varied, but the form of the characters may be varied.For instance, some of the straight line segments may be replaced byarcuate segments to provide a better approximation of the graph within agiven character field. In addition, dotted line or dashed line segments,or the like, may be used in place of straight line segments, a featurewhich may be incorporated where it is desired to print out a number ofcurves on the same graph and to provide for differ entiation of thecurves.

Referring now to FIG. 3, the difference between the prior art practicewith conventional line printers and the practice of this invention isillustrated. The dashed lines illustrate conventional alphanumericcharacter fields 5], such fields having horizontal spaces betweenadjacent characters, and having vertical spaces between adjacent lines.FIG. 3 illustrates a curve printout using conventional character fieldsand the character 0. By contrast, this invention utilizes a largercharacter field 52, as shown by the solid lines, such character fieldsextending such that there is no spacing between adjacent characterfields of the printout in either the horizontal or vertical directions.Corresponding to the graph comprised of the character 0 placed in theconventional alphanumeric fields, a graph 53 derived from the apparatusand method of this invention is illustrated showing straight linesegments, each segment filling one full character field 52. As isreadily seen, the straight line segment graph is considerably neater andmore understandable, in addition to providing more accurate information.

In operation, the computer operates on input data in accordance with aprogram written to obtain information in tabular form. For example, thecomputer may be programmed to calculate the trajectory of a missile interms of initial thrust conditions, gravitational forces, etc. Thecomputer calculates position information at predetermined timeintervals, e.g., every sec ond, storing in memory such positioninformation as a function of time corresponding to each I second timeinterval throughout the desired time range. For purposes of simplicityin this example, it is assumed that the position information is in termsof distance from a given point, so that only one dimension as a functionof time need be considered. If a normal printout of such information ismade, it is in tabular form, a different numerical distance beingprinted out for each corresponding one second time interval.Alternately, the computer user may program a printout using aconventional line printer or terminal output device. In such a printout,each alphanumeric character field on a given line corresponds to a giventime interval. However, presuming that range is plotted as a function oftime, the line spacing of the printout device determines the resolutionwith which the range can be plotted. For a given time interval,corresponding to a given column of alphanumeric character fields, analphanumeric character must be placed in the center of one given line,thus considerably compromising the resolution of the curve. By contrast,in the practice of this invention, the computer can select the optimumcharacter which most closely reflects both the position and slope of thecurve within the given field. For example, corresponding to a given timeinterval for which the computer has already calculated position data,the computer may be programmed to compare this position with theposition for the next prior time interval and the next subsequent timeinterval, and calculate therefrom an approximation of the slope of thecurve through such time interval. In this way, the computer derives bothposition and slope information, which forms the basis for selecting thebest of the 64 illustrated character segments to be chosen within anygiven character field. After thus computing the desired charactersegment for a given time interval, the computer is programmed to proceedto the next time interval, and make similar calculations, againselecting the optimum character field and optimum character segment forrepresentation of the tabular data. In thus proceeding through thetabular data, the computer generates digital information from which thecurve may be plotted. It is to be noted that, as is the practice in thecomputer art, the curve may be plotted out as the program progresses,or, more efficiently, the

plotting instructions may be stored in memory or on auxiliary memorysuch as magnetic tape, for later printout through the printout device.

Different constraints may be imposed in writing the program by which thecomputer operates on the tabular data in order to determine the chosencharacters for printout of the curve. For example, if a continuous curveis desired, the intercept of each character may be made the startingintercept of each subsequent character. To illustrate, curve A in FIG. 2terminates at intercept B. The computer is programmed such that the nextchosen character is one of the nine line segments eminating fromintercept C, such that the subsequent and the prior segments would becontinuous at a common point.

Although the practice of this invention has been illustrated bydiscussion of the plotting of a curve which proceeds unilaterally on atime sequence basis, it is noted that the method may be used for plotssuch as helical patterns, root locus, etc., where the curve may have aplurality of points corresponding to any given horizontal or verticalcoordinate. For example, in using an output terminal which cannot backspace and/or back line feed, a circular plot could not be constructedsingle character by single character by proceeding unilaterally in agiven direction across the graph. In such cases, the program is modifiedto first calculate all printout characters, and then to cause theprintout terminal to print one or more characters on each line,progressing from line to line until the total curve is plotted. in thesame manner, a plurality of curves may be plot ted in one printing. Ofcourse, if the terminal may be back spaced and back lined, suchoperations may be incorporated into the print-out program.

The practice of this invention is illustrated in the following examples.

EXAMPLE l A standard typewriter instrument is used as the outputprinting device, for printing data on command from a digital computer.The standard alphanumerical ball is replaced with the line segment ballas shown in FIG. 1b. The desired printout is that of an x-y plot oftabular information contained within the memory of the digital computer.A subroutine is stored within the computer memory for analyzing thetabular data and generating control signals sent to the typewriter, toproperly space the typewriter and cause the chosen line segment to beprinted, corresponding to each data point.

The typewriter, with the line segment ball adaptation, is capable ofprinting any one of 6] line segments, or three dot characters. Each linesegment or dot charac ter printout is made within a character fieldhaving a horizontal, or side to side width, equal to the horizontalcharacter spacing of the typewriter, and a vertical, or line to linewidth, defined by the line spacing of the typewriter, the characterfields being contiguous such that there is no overlapping betweenadjacent character fields. The computer retrieves the first data pointfrom the tabulated data in memory, and, from the x-y location of suchdata point, generates electrical signals which are communicated to anddrive the typewriter horizontally along the first line to the positionof that character field wherein such first data point is contained, whenplotted with a pre-determined scale on the typewriter printout paper. Anoptimum slope representing the slope of the graph at such first datapoint is determined by calculating the differential slope between suchfirst data point and the next, or second data point, and comparing suchcalculated slope with the 61 available straight line segments. Thestraight line segment closest to the calculated slope is selected, and acorresponding electrical signal is communicated to the typewriter tocause it to print such selected segment within the chosen characterfield. The typewriter is then spaced to the next line, and the aboveprocess is repeated.

EXAMPLE 2 The same procedure is followed as was followed in Example l,up to and including termination of printout of the first line segment.In operating on the second data point, the character field is chosen inthe same manner, i.e., the .t-y information is used to shift thetypewriter horizontally to the character field containing such x-yposition. ln determining the chosen line segment, or dot, for the secondcharacter, the trailing intercept of the prior line segment is used as aconstraint. Thus, the trailing intercept of the prior line segmentlimits, to a limited number of the total 6! available line segments,that line segment which can be chosen. The slope is calculated as thex-y slope be tween such intercept point and the next subsequent, orthird, data point, and the respective line segment is then chosen whichhas its leading intercept coinciding with the trailing intercept of theprior line segment, and has the closest slope to the calculated slope.The typewriter is then spaced to the next line, and the same procedureis repeated, until all of the data is printed out.

EXAMPLE 3 The same procedure as followed in Example 1 is utilized,incorporating the steps of calculating the slope between the given datapoint and the prior data point, and averaging this slope with thecalculated slope between the given data point and the next succeedingdata point, to determine the slope associated with the given data point.

From the above examples, it is apparent that many different subroutinesmay be utilized for determining the appropriate line segmentcorresponding to a given data point. Any manner of programming thecomputer to calculate, from the tabular data, an optimum slopecorresponding to a given data point, is within the spirit and scope ofthis invention.

As used in this specification and the claims appended hereto, the termcharacter field defines the position on the type vehicle, as well as onthe printout, within which the straight line segments are positioned.The character fields are contiguous, meaning that they have commonboundaries with adjacent fields, without spac ing or overlap. Thestraight line segments are seen to fill the character fields, in thatthey extend from one boundary to another, the ends of each segment beingat or on a boundary.

There is presented below, in Table l, a listing of a computer programfor operating on stored data, selecting optimum straight line charactersegments, and causing sequential printout of such segments so as toprovide a straight line segment curve of the data. The program calls forthe information which is to be presented as a curve, from eitherexternal storage (cards,

tape, etc.) or from the computer's own memory. The computer selects theproper straight line segments which best fit the information in storagefor each data increment. in order to make best use of the physical sizeof the output format, scaling of the information is first considered. Itis seen that the listing calls for a printout of normal alphanumericcharacters, it being understood that when the straight line segmentvehicle of this invention is used in place of a conventional al-IPROGRAM STANDARJuPAGCS=5uE lT=5uFUL1ST NAME:

phanumeric vehicle, the output is in the desired straight line segmentform.

It is understood that the program illustrated in this listing isillustrative only, and for the purpose of a presenting a completedisclosure of this invention. It is noted that other programs, orroutines, incorporating logical variations of the one shown here, may becomposed by those skilled in the art, and be within the scope of thisinvention.

IDBST. KENNETH I- 1. Computer apparatus for printing out data ingraphical form, comprising:

a type vehicle having a plurality of raised characters of a straightline segment form, each such character being positioned on the printingsurface of said vehicle within a separate character field, suchcharacter fields being of uniform size and contiguous to adjacentfields, each straight line character having a distinct combination ofposition and slope and having each end thereof at a boundary of itscharacter field, whereby said characters may be printed out undercontrol of a computer so as to provide a substantially continuousstraight line segment graph of said data.

2. The apparatus as described in claim 1 wherein said type vehicle isadapted to attach to a conventional al phanumeric character vehicle.

3. The apparatus as described in claim 1 wherein said type vehicle has acylindrical form, with said raised characters rising from saidcylindrical surface.

4. The apparatus as described in claim 1 wherein said type vehicle is aspherical ball, with said raised characters rising from said sphericalsurface, and said com puter terminal apparatus is a typewriter.

5. The apparatus as described in claim 1 wherein said type vehiclecontains a plurality of raised characters other than said straight linecharacters.

6. The apparatus as described in claim I further comprising a digitalcomputer and computer terminal equipment having said type vehiclemounted thereon, wherein said digital computer contains data in tabularform consisting of a plurality of data points, and a stored subroutinefor selecting characters on said type vehicle which represent positionand slope information corresponding to respective data points, and forcontrolling said terminal apparatus to print out such selectedcharacters, whereby to provide a graph of said tabular data.

7. The apparatus as described in claim 1, further comprising:

a. computer terminal equipment controllable by a digital computer andcontaining said type vehicle;

b. digital computer means, operably connected to said computer terminalequipment;

c. digital storage means for storing a plurality of data points;

d. said computer means being programmed to select character fields onthe data printout corresponding to the coordinate positions of saidrespective data points;

e. said computer being programmed to select, from said plurality ofstraight line characters, a straight line character corresponding to thecoordinate position and slope of said graph for each respective datapoint;

f. said computer means being programmed to generate control signalsrepresenting said selected character fields and said selected straightline characters; and,

g. said control signals, when operably connected to said computerterminal equipment, causing the printing of said selected characters insaid selected character fields to produce said straight line segmentgraph representing said data points.

a a: w a

1. Computer apparatus for printing out data in graphical form,comprising: a type vehicle having a plurality of raised characters of astraight line segment form, each such character being positioned on theprinting surface of said vehicle within a separate character field, suchcharacter fields being of uniform size and contiguous to adjacentfields, each straight line character having a distinct combination ofposition and slope and having each end thereof at a boundary of itscharacter field, whereby said characters may be printed out undercontrol of a computer so as to provide a substantially continuousstraight line segment graph of said data.
 2. The apparatus as describedin claim 1 wherein said type vehicle is adapted to attach to aconventional alphanumeric character vehicle.
 3. The apparatus asdescribed in claim 1 wherein said type vehicle has a cylindrical form,with said raised characters rising from said cylindrical surface.
 4. Theapparatus as described in claim 1 wherein said type vehicle is aspherical ball, with said raised characters rising from said sphericalsurface, and said computer terminal apparatus is a typewriter.
 5. Theapparatus as described in claim 1 wherein said type vehicle contains aplurality of raised characters other than said straight line characters.6. The apparatus as described in claim 1 further comprising a digitalcomputer and computer terminal equipment having said type vehiclemounted thereon, wherein said digital computer contains data in tabularform consisting of a plurality of data points, and a stored subroutinefor selecting characters on said type vehicle which represent positionand slope information corresponding to respective data points, and forcontrolling said terminal apparatus to print out such selectedcharacters, whereby to provide a graph of said tabular data.
 7. Theapparatus as described in claim 1, further comprising: a. computerterminal equipment controllable by a digital computer, and containingsaid type vehicle; b. digital computer means, operably connected to saidcomputer terminal equipment; c. digital storage means for storing aplurality of data points; d. said computer means being programmed toselect character fields on the data printout corresponding to thecoordinate positions of said respective data points; e. said computerbeing programmed to select, from said plurality of straight linecharacters, a straight line character corresponding to the coordinateposition and slope of said graph for each respective data point; f. saidcomputer means being programmed to generate control signals representingsaid selected character fields and said selected straight linecharacters; and, g. said control signals, when operably connected tosaid computer terminal equipment, causing the printing of said selectedcharacters in said selected character fields to produce said straightline segment graph representing said data points.